package com.xhwl.logistics.service.cent.server;

import com.xhwl.common.dto.cent.vehicle.feign.*;
import com.xhwl.common.pojo.ResultJson;
import com.xhwl.common.pojo.cent.vehicle.bo.bi.VehicleAccessRecordTotalStatisticsBO;
import com.xhwl.common.pojo.cent.vehicle.bo.http.ParkingLotPayRecordBO;
import com.xhwl.logistics.vo.PageVO;
import com.xhwl.logistics.vo.VehicleAccessRecordAnotherVO;
import com.xhwl.logistics.vo.VehicleStatisticsDateVO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;

import java.util.List;

//@RestController
public interface IVehicleAccessRecordFeignService {

    @PostMapping("/vehicle-feign/pay-record/add")
    void addPayRecords(@RequestPart("pay") ParkingLotPayRecordBO ParkingLotPayRecordBO);
    @PostMapping("/vehicle-feign/access-record-for-in/add")
    void addAccessRecordsForIn(@RequestPart("in")CreateVehicleAccessRecordsForInFeignDTO createVehicleAccessRecordsForInFeignDTO);

    @PostMapping("/vehicle-feign/access-record-for-out/add")
    void addAccessRecordsForOut(@RequestPart("out")CreateVehicleAccessRecordsForOutFeignDTO createVehicleAccessRecordsForOutFeignDTO);

    @PostMapping("/vehicle-feign/access-record/page")
    PageVO<VehicleAccessRecordAnotherVO> queryAccessRecords(@RequestPart("access-record") VehicleAccessRecordQuery vehicleAccessRecordQuery);

    @PostMapping("/vehicle-feign/access-record/statistics")
    ResultJson<VehicleAccessRecordTotalStatisticsBO> queryAccessStatistics(@RequestPart("statisticsQuery") VehicleTotalStatisticsQuery statisticsQuery);

    @PostMapping("/vehicle-feign/access-record/statistics-trend")
    ResultJson<List<VehicleStatisticsDateVO>> queryAccessStatisticsTrend(@RequestPart("statisticsQuery") VehicleTotalStatisticsQuery statisticsQuery);

    /**
     * 青岛奥莱定制化接口，获取入园车辆分布，鲁B、Y和L
     */
    @PostMapping("/vehicle-feign/unique-aolai/access-record/total")
    ResultJson getUniqueAccessRecordTotal(@RequestPart("parking") VehicleParkingLotQuery vehicleParkingLotQuery);

}
